package cn.design.realize;

/**
 * @author dlq
 * @description 这个相当于一个装机员(操作员), 组装电脑的实际人员, 继承ComputerBuild抽象类
 * 这里操作员具体操作组装电脑
 * 扩展：抽象类更多是根源，接口是动作，这里继承操作员本身就会进行组
 * @date 2020/9/15 10:00
 * @since 1.0
 */
public class ComputerConcreteBuilder extends ComputerBuilder {

    /**
     * 最后组装得到的产品
     */
    private ComputerProduct product = new ComputerProduct();

    @Override
    public void buildCpu() {
        product.setCpu("组装cpu");
    }

    @Override
    public void buildHardDisk() {
        product.setHardDisk("组装硬盘(hardDisk)");
    }

    @Override
    public void buildMemory() {
        product.setMemory("组装内存(memory)");
    }

    @Override
    public ComputerProduct getComputerProduct() {
        return product;
    }
}
